home *** CD-ROM | disk | FTP | other *** search
- /* $Id: plevent.h,v 1.1 1993/01/23 05:36:01 mjl Exp $
- $Log: plevent.h,v $
- * Revision 1.1 1993/01/23 05:36:01 mjl
- * This file added for inclusion by all user-defined event handlers to be
- * used with plplot. It contains constant definitions used to transmit
- * info on the event that occurred (e.g. keystroke definitions).
- *
- */
-
- /*
- plevent.h
-
- Input event (especially keyboard) definitions for use from plplot
- event handlers.
-
- Key definitions are taken from the X11/keysymdef.h include file,
- with only the control keys retained, and the "XK" prefix changed
- to "PLK". Users that wish to can handle the X keysym directly.
-
- This file can be included on all systems, whether X-based or not.
- Drivers for non-X systems must translate the raw keycodes to those
- used here, so not all keyboard input may be available.
- */
-
- #ifndef __PLEVENT_H__
- #define __PLEVENT_H__
-
- /* Key definitions */
-
- /***********************************************************
- Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
- and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
-
- All Rights Reserved
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and that
- both that copyright notice and this permission notice appear in
- supporting documentation, and that the names of Digital or MIT not be
- used in advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- SOFTWARE.
-
- ******************************************************************/
-
- #define PLK_BackSpace 0xFF08 /* back space, back char */
- #define PLK_Tab 0xFF09
- #define PLK_Linefeed 0xFF0A /* Linefeed, LF */
- #define PLK_Clear 0xFF0B
- #define PLK_Return 0xFF0D /* Return, enter */
- #define PLK_Pause 0xFF13 /* Pause, hold */
- #define PLK_Scroll_Lock 0xFF14
- #define PLK_Escape 0xFF1B
- #define PLK_Delete 0xFFFF /* Delete, rubout */
-
- /* Cursor control & motion */
-
- #define PLK_Home 0xFF50
- #define PLK_Left 0xFF51 /* Move left, left arrow */
- #define PLK_Up 0xFF52 /* Move up, up arrow */
- #define PLK_Right 0xFF53 /* Move right, right arrow */
- #define PLK_Down 0xFF54 /* Move down, down arrow */
- #define PLK_Prior 0xFF55 /* Prior, previous (Page Up) */
- #define PLK_Next 0xFF56 /* Next (Page Down) */
- #define PLK_End 0xFF57 /* EOL */
- #define PLK_Begin 0xFF58 /* BOL */
-
- /* Misc Functions */
-
- #define PLK_Select 0xFF60 /* Select, mark */
- #define PLK_Print 0xFF61
- #define PLK_Execute 0xFF62 /* Execute, run, do */
- #define PLK_Insert 0xFF63 /* Insert, insert here */
- #define PLK_Undo 0xFF65 /* Undo, oops */
- #define PLK_Redo 0xFF66 /* redo, again */
- #define PLK_Menu 0xFF67
- #define PLK_Find 0xFF68 /* Find, search */
- #define PLK_Cancel 0xFF69 /* Cancel, stop, abort, exit */
- #define PLK_Help 0xFF6A /* Help, ? */
- #define PLK_Break 0xFF6B
- #define PLK_Mode_switch 0xFF7E /* Character set switch */
- #define PLK_script_switch 0xFF7E /* Alias for mode_switch */
- #define PLK_Num_Lock 0xFF7F
-
- /* Keypad Functions, keypad numbers cleverly chosen to map to ascii */
-
- #define PLK_KP_Space 0xFF80 /* space */
- #define PLK_KP_Tab 0xFF89
- #define PLK_KP_Enter 0xFF8D /* enter */
- #define PLK_KP_F1 0xFF91 /* PF1, KP_A, ... */
- #define PLK_KP_F2 0xFF92
- #define PLK_KP_F3 0xFF93
- #define PLK_KP_F4 0xFF94
- #define PLK_KP_Equal 0xFFBD /* equals */
- #define PLK_KP_Multiply 0xFFAA
- #define PLK_KP_Add 0xFFAB
- #define PLK_KP_Separator 0xFFAC /* separator, often comma */
- #define PLK_KP_Subtract 0xFFAD
- #define PLK_KP_Decimal 0xFFAE
- #define PLK_KP_Divide 0xFFAF
-
- #define PLK_KP_0 0xFFB0
- #define PLK_KP_1 0xFFB1
- #define PLK_KP_2 0xFFB2
- #define PLK_KP_3 0xFFB3
- #define PLK_KP_4 0xFFB4
- #define PLK_KP_5 0xFFB5
- #define PLK_KP_6 0xFFB6
- #define PLK_KP_7 0xFFB7
- #define PLK_KP_8 0xFFB8
- #define PLK_KP_9 0xFFB9
-
- /*
- * Auxilliary Functions; note the duplicate definitions for left and right
- * function keys; Sun keyboards and a few other manufactures have such
- * function key groups on the left and/or right sides of the keyboard.
- * We've not found a keyboard with more than 35 function keys total.
- */
-
- #define PLK_F1 0xFFBE
- #define PLK_F2 0xFFBF
- #define PLK_F3 0xFFC0
- #define PLK_F4 0xFFC1
- #define PLK_F5 0xFFC2
- #define PLK_F6 0xFFC3
- #define PLK_F7 0xFFC4
- #define PLK_F8 0xFFC5
- #define PLK_F9 0xFFC6
- #define PLK_F10 0xFFC7
- #define PLK_F11 0xFFC8
- #define PLK_L1 0xFFC8
- #define PLK_F12 0xFFC9
- #define PLK_L2 0xFFC9
- #define PLK_F13 0xFFCA
- #define PLK_L3 0xFFCA
- #define PLK_F14 0xFFCB
- #define PLK_L4 0xFFCB
- #define PLK_F15 0xFFCC
- #define PLK_L5 0xFFCC
- #define PLK_F16 0xFFCD
- #define PLK_L6 0xFFCD
- #define PLK_F17 0xFFCE
- #define PLK_L7 0xFFCE
- #define PLK_F18 0xFFCF
- #define PLK_L8 0xFFCF
- #define PLK_F19 0xFFD0
- #define PLK_L9 0xFFD0
- #define PLK_F20 0xFFD1
- #define PLK_L10 0xFFD1
- #define PLK_F21 0xFFD2
- #define PLK_R1 0xFFD2
- #define PLK_F22 0xFFD3
- #define PLK_R2 0xFFD3
- #define PLK_F23 0xFFD4
- #define PLK_R3 0xFFD4
- #define PLK_F24 0xFFD5
- #define PLK_R4 0xFFD5
- #define PLK_F25 0xFFD6
- #define PLK_R5 0xFFD6
- #define PLK_F26 0xFFD7
- #define PLK_R6 0xFFD7
- #define PLK_F27 0xFFD8
- #define PLK_R7 0xFFD8
- #define PLK_F28 0xFFD9
- #define PLK_R8 0xFFD9
- #define PLK_F29 0xFFDA
- #define PLK_R9 0xFFDA
- #define PLK_F30 0xFFDB
- #define PLK_R10 0xFFDB
- #define PLK_F31 0xFFDC
- #define PLK_R11 0xFFDC
- #define PLK_F32 0xFFDD
- #define PLK_R12 0xFFDD
- #define PLK_R13 0xFFDE
- #define PLK_F33 0xFFDE
- #define PLK_F34 0xFFDF
- #define PLK_R14 0xFFDF
- #define PLK_F35 0xFFE0
- #define PLK_R15 0xFFE0
-
- /* Modifiers */
-
- #define PLK_Shift_L 0xFFE1 /* Left shift */
- #define PLK_Shift_R 0xFFE2 /* Right shift */
- #define PLK_Control_L 0xFFE3 /* Left control */
- #define PLK_Control_R 0xFFE4 /* Right control */
- #define PLK_Caps_Lock 0xFFE5 /* Caps lock */
- #define PLK_Shift_Lock 0xFFE6 /* Shift lock */
-
- #define PLK_Meta_L 0xFFE7 /* Left meta */
- #define PLK_Meta_R 0xFFE8 /* Right meta */
- #define PLK_Alt_L 0xFFE9 /* Left alt */
- #define PLK_Alt_R 0xFFEA /* Right alt */
- #define PLK_Super_L 0xFFEB /* Left super */
- #define PLK_Super_R 0xFFEC /* Right super */
- #define PLK_Hyper_L 0xFFED /* Left hyper */
- #define PLK_Hyper_R 0xFFEE /* Right hyper */
-
- #endif /* __PLEVENT_H__ */
-